﻿//免注册COM, 需要在项目属性中指定清单文件, 文件在锐浪模块目录中
//请将下列文件(在项目目录中), 复制到编译的exe所在目录,然后再重新编译
//1a.简单表格.grf
//cc.exe.manifest
//Northwind.mdb
//grdes6.dll
//gregn6.dll

类 报表事件类 继承 报表事件
	函数 虚函数 空类型 初始化事件()
		调试输出("初始化事件()")
	函数 虚函数 空类型 请求字段显示文字(字段* pSender)
		//XTRACE("请求字段显示文字() %s, %s\n", pSender->取名称().取地址(), pSender->取显示文字().取地址());
		占位

类 我的主窗口类 继承 窗口类
	[绑定信息] //IDE生成的UI绑定信息(UI变量,事件), 支持手动修改, 可收缩隐藏
		[按钮类, _打印预览, "打印预览"]
			[XE_BNCLICK, 事件_点击_打印预览, 0]
		[按钮类, _自动调整列宽适应区域, "自动调整列宽适应区域"]
			[XE_BNCLICK, 事件_点击_自动调整列宽适应区域, 0]
		[按钮类, _自动调整列宽适应文字, "自动调整列宽适应文字"]
			[XE_BNCLICK, 事件_点击_自动调整列宽适应文字, 0]
		[按钮类, _自动调整列宽适应页面, "自动调整列宽适应页面"]
			[XE_BNCLICK, 事件_点击_自动调整列宽适应页面, 0]
		[按钮类, _显示工具栏, "显示工具栏"]
			[XE_BNCLICK, 事件_点击_显示工具栏, 0]
		[按钮类, _执行工具栏按钮功能, "执行工具栏按钮功能"]
			[XE_BNCLICK, 事件_点击_执行工具栏按钮功能, 0]
		[按钮类, _恢复工具栏按钮, "恢复工具栏按钮"]
			[XE_BNCLICK, 事件_点击_恢复工具栏按钮, 0]
		[按钮类, _遍历查找, "遍历查找"]
			[XE_BNCLICK, 事件_点击_遍历查找, 0]
	文本型  _布局文件 = "main.xml" //关联UI布局文件
	报表       _报表对象
	查询显示器  _查询显示器
	报表事件类  _报表事件
	函数 整型 运行() //自动处理 加载布局文件, 绑定变量, 注册事件
		启用自动焦点(真)  //避免锐浪抢占窗口焦点,炫彩编辑框无法输入内容
		显示(TRUE)

		_报表对象.创建()
		_报表对象.绑定事件(&_报表事件)

		矩形结构 rcClient
		取客户区坐标(&rcClient)

		_查询显示器.创建(50, 85, rcClient.右边 - 100, rcClient.下边-100, m_hWindow)
		_查询显示器.置关联报表(&_报表对象)
		_查询显示器.置网格标题3D(真)
		_查询显示器.置报表居中显示(真)
		_查询显示器.置点击列可重排序(真)

		文本型  文件名 = 取运行目录() + "\\1a.简单表格.grf"
		_报表对象.从文件加载报表(文件名)
		_报表对象.取明细网格().取内容行().置交替背景色(取颜色值RGB(215, 215, 255))
		_报表对象.取明细网格().取内容行().置高度(0.65)

		文本型  链接字符串 = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=";
		链接字符串 += 取运行目录()
		链接字符串 += "\\NorthWind.mdb;"
		数据集 数据集1 = _报表对象.取明细网格().取数据集()
		数据集1.置连接串(链接字符串)

		_查询显示器.启动()
		返回 0
	函数 整型  事件_点击_打印预览(逻辑型* 是否拦截)
		_报表对象.打印预览扩展(打印生成方式枚举_预览全部, 真, 假)
		返回 0
	函数 整型  事件_点击_自动调整列宽适应区域(逻辑型* 是否拦截)
		_查询显示器.自动调整列宽适应()
		返回 0
	函数 整型  事件_点击_自动调整列宽适应文字(逻辑型* 是否拦截)
		_查询显示器.自动调整列宽适应文本()
		返回 0
	函数 整型  事件_点击_自动调整列宽适应页面(逻辑型* 是否拦截)
		_查询显示器.自动调整列宽适应页面()
		返回 0
	函数 整型  事件_点击_显示工具栏(逻辑型* 是否拦截)
		如果 _查询显示器.取显示工具栏()
			_显示工具栏.置文本("显示工具栏")
			_查询显示器.置显示工具栏(假)
		否则
			_显示工具栏.置文本("隐藏工具栏")
			_查询显示器.置显示工具栏(真)
		返回 0
	函数 整型  事件_点击_执行工具栏按钮功能(逻辑型* 是否拦截)
		_查询显示器.执行工具栏任务(查询显示器按钮枚举_列显示功能)
		返回 0
	函数 整型  事件_点击_恢复工具栏按钮(逻辑型* 是否拦截)
		如果 0 == 文本比较(_恢复工具栏按钮.取文本(), "恢复工具栏按钮")
			_恢复工具栏按钮.置文本("自定义工具栏按钮")
			_查询显示器.复位工具栏按钮()
		否则
			_恢复工具栏按钮.置文本("恢复工具栏按钮")
			_查询显示器.增加工具栏按钮(查询显示器按钮枚举_关闭)
			_查询显示器.删除工具栏按钮(查询显示器按钮枚举_打印应用布局)
			_查询显示器.删除工具栏按钮(查询显示器按钮枚举_打印)
			_查询显示器.删除工具栏按钮(查询显示器按钮枚举_打印预览)
			_查询显示器.删除工具栏按钮(查询显示器按钮枚举_邮件)
			_查询显示器.删除工具栏按钮(查询显示器按钮枚举_导出)
			_查询显示器.删除工具栏按钮(查询显示器按钮枚举_查找文本框)
			_查询显示器.删除工具栏按钮(查询显示器按钮枚举_查找按钮)
			_查询显示器.删除工具栏按钮(查询显示器按钮枚举_继续查找按钮)
			_查询显示器.删除工具栏按钮(查询显示器按钮枚举_显示查找对话框钮)
		_查询显示器.置显示工具栏(真)
		_查询显示器.更新工具栏 ()
		返回 0
	函数 整型  事件_点击_遍历查找(逻辑型* 是否拦截)
		_查询显示器.置可查找(真)
		_查询显示器.查找文字("企业", 假, 假, 假, 假, 假, 假)// 可按F3继续查找
		返回 0

函数 整型 入口函数_窗口()
	炫彩_初始化(TRUE)

	我的主窗口类  我的主窗口
	我的主窗口.运行()

	炫彩_运行()
	炫彩_退出()
	返回 0
